unit mensaje;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, DBCtrls, Buttons,
  Provider, SqlExpr, DBClient, DBLocal, DBLocalS, Printers, Menus;

type
  TfrmMensaje = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    grdVista: TDBGrid;
    sVista: TDataSource;
    lblId: TLabel;
    lblTXT: TLabel;
    BitBtn1: TBitBtn;
    Label3: TLabel;
    lblPlazo: TLabel;
    cds: TSQLClientDataSet;
    cdscategoria: TStringField;
    cdshoras: TFloatField;
    cdsdias: TFloatField;
    cdsproporcion: TFloatField;
    Image1: TImage;
    PopupMenu1: TPopupMenu;
    ConfigurarImpresin1: TMenuItem;
    Imprimir1: TMenuItem;
    VistaPrevia1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    procedure ConfigurarImpresin1Click(Sender: TObject);
    procedure VistaPrevia1Click(Sender: TObject);
  private

  public
    procedure HorasPorCategoria(idPresup: string);
  end;

var
  frmMensaje: TfrmMensaje;

implementation

uses MDatos, Recursos, moPorCategoria;

{$R *.dfm}

procedure TfrmMensaje.HorasPorCategoria(idPresup: string);
var
  sql: string;
begin
  lblId.Caption := idPresup;
  lblTxt.Caption := Datos.cPresupuestoDENOMINACION.AsString;
  lblPlazo.Caption := Datos.cPresupuestoPLAZO_EJECUCION.AsString;
   sql := 'SELECT R.responsabilidad Categoria, SUM(IMO.cantidad * IP.cantidad) Horas,'
  + ' SUM(IMO.cantidad * IP.cantidad / 8) Dias, SUM(IMO.cantidad * IP.cantidad / 8 /'
  + Datos.cPresupuestoPLAZO_EJECUCION.AsString
  + ') Proporcion FROM item_presupuesto IP, item_mo IMO, responsabilidad R'
  + ' WHERE IP.id_item = IMO.id_item AND IMO.id_responsabilidad = R.id_responsabilidad'
  + ' AND IP.id_presupuesto = ' +idPresup+ ' GROUP BY R.responsabilidad';
  cds.CommandText := sql;
  cds.Open;
  ShowModal;
  cds.Close;
end;

procedure TfrmMensaje.FormCreate(Sender: TObject);
begin
  acomodo(frmMensaje);
end;

procedure TfrmMensaje.Image1Click(Sender: TObject);
begin
  frmMoPorCategoria.QuickRep1.Print;
end;

procedure TfrmMensaje.ConfigurarImpresin1Click(Sender: TObject);
begin
  frmMoPorCategoria.QuickRep1.PrinterSetup;
end;

procedure TfrmMensaje.VistaPrevia1Click(Sender: TObject);
begin
  frmMoPorCategoria.QuickRep1.PreviewModal;
end;

end.
